home *** CD-ROM | disk | FTP | other *** search
- function buildQuestionsArray()
- {
- stripWhitespaceDoublePass(quizDoc);
- var quizNode = quizDoc.firstChild;
- var i = 0;
- while(i < quizNode.childNodes.length)
- {
- var thisQuestion = quizNode.childNodes[i];
- var choicesArray = new Array();
- var j = 0;
- while(j < thisQuestion.childNodes.length)
- {
- var thisChoice = thisQuestion.childNodes[j];
- choicesArray[j] = thisChoice.firstChild.nodeValue;
- j++;
- }
- questionsArray[i] = new Question(parseInt(thisQuestion.attributes.answer),thisQuestion.attributes.text,choicesArray);
- i++;
- }
- questionsArray.shuffle();
- loadMsg = "";
- makeQuestion(currentQuestion);
- }
- function Question(correctAnswer, questionText, answers)
- {
- this.correctAnswer = correctAnswer;
- this.questionText = questionText;
- this.answers = answers;
- }
- function makeQuestion(currentQuestion)
- {
- questionClip.removeMovieClip();
- attachMovie("questionTemplate","questionClip",0);
- questionClip._x = 470;
- questionClip._y = 300;
- questionClip.qNum = "Question " + (currentQuestion + 1);
- questionClip.qText = "" + questionsArray[currentQuestion].questionText;
- var i = 0;
- while(i < questionsArray[currentQuestion].answers.length)
- {
- questionClip.attachMovie("answerTemplate","answer" + i,i);
- questionClip["answer" + i]._y += 70 + i * 20;
- questionClip["answer" + i]._x -= 80;
- questionClip["answer" + i].answerText = questionsArray[currentQuestion].answers[i];
- i++;
- }
- }
- function answer(choice)
- {
- userAnswers.push(choice);
- MeAnswer = userAnswers.length;
- if(userAnswers[MeAnswer - 1] == questionsArray[currentQuestion].correctAnswer)
- {
- totalCorrect++;
- }
- if(currentQuestion + 1 == 5)
- {
- questionClip.removeMovieClip();
- gotoAndStop("prefamine");
- }
- else
- {
- makeQuestion(++currentQuestion);
- }
- }
- function stripWhitespaceDoublePass(XMLnode)
- {
- var i = 0;
- while(i < XMLnode.childNodes.length)
- {
- if(XMLnode.childNodes[i].nodeType == 3)
- {
- var j = 0;
- var emptyNode = true;
- j = 0;
- while(j < XMLnode.childNodes[i].nodeValue.length)
- {
- if(32 < XMLnode.childNodes[i].nodeValue.charCodeAt(j))
- {
- emptyNode = false;
- break;
- }
- j++;
- }
- if(emptyNode)
- {
- XMLnode.childNodes[i].removeNode();
- }
- }
- i++;
- }
- var k = 0;
- while(k < XMLnode.childNodes.length)
- {
- stripWhitespaceDoublePass(XMLnode.childNodes[k]);
- k++;
- }
- }
- stop();
- var displayTotal;
- var totalCorrect = 0;
- var userAnswers = new Array();
- var currentQuestion = 0;
- var questionsArray = new Array();
- var quizDoc = new XML();
- quizDoc.onLoad = buildQuestionsArray;
- quizDoc.load("quiz/quiz.xml");
- Array.prototype.shuffle = function()
- {
- var len = this.length;
- var i = 0;
- while(i < len)
- {
- var rand = Math.floor(Math.random() * len);
- var temp = this[i];
- this[i] = this[rand];
- this[rand] = temp;
- i++;
- }
- };
-